package com.lvmama.rhino.mapper;

import java.util.List;

import com.lvmama.rhino.entity.RequestSearchParam;
import com.lvmama.rhino.pojo.search.FlowSearchArrivalKey;
import com.lvmama.rhino.pojo.search.FlowSearchFilter;
import com.lvmama.rhino.pojo.search.FlowSearchFilterCondition;
import com.lvmama.rhino.pojo.search.FlowSearchJump;
import com.lvmama.rhino.pojo.search.FlowSearchKey;
import com.lvmama.rhino.pojo.search.FlowSearchKeyType;
import com.lvmama.rhino.pojo.search.FlowSearchPaging;
import com.lvmama.rhino.pojo.search.FlowSearchResult;
import com.lvmama.rhino.pojo.search.FlowSearchStation;
import com.lvmama.rhino.pojo.search.FlowSearchStatistics;


/** 
* @ClassName: FlowSearchMapper 
* @Description: TODO
* @author shenlinli
* @date 2017年3月13日 下午3:30:08  
*/
public interface FlowSearchMapper {
	
	/** 
	* @Title: queryFlowByDate 
	* @Description: 根据日期获取搜索流量
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowSearchStatistics>    返回类型 
	* @throws 
	*/
	List<FlowSearchStatistics> queryFlowByDate(RequestSearchParam searchParam);
	
	/** 
	* @Title: queryFlowByChannel 
	* @Description: 根据渠道获取搜索流量
	* @param @param param
	* @param @return    设定文件 
	* @return List<FlowSearchStatistics>    返回类型 
	* @throws 
	*/
	List<FlowSearchStatistics> queryFlowByChannel(RequestSearchParam searchParam);
	
	List<FlowSearchStation> queryStationList();
	FlowSearchStation queryStationNameById(RequestSearchParam searchParam); 
	
	List<FlowSearchKeyType> queryKeyByType(RequestSearchParam searchParam);
	List<FlowSearchKeyType> queryKeyByDate(RequestSearchParam searchParam);
	List<FlowSearchKey> queryKeyByAmount(RequestSearchParam searchParam);
	
	List<FlowSearchArrivalKey> queryKeyByCategory(RequestSearchParam searchParam);
	List<FlowSearchArrivalKey> queryKeyByKeyword(RequestSearchParam searchParam);
	List<FlowSearchArrivalKey> queryKeyByXgword(RequestSearchParam searchParam);
	List<FlowSearchKey> queryDetailByKey(RequestSearchParam searchParam);
	List<FlowSearchKey> queryDetailByStation(RequestSearchParam searchParam);
	
	
	List<FlowSearchJump> queryJumpDeByCategory(RequestSearchParam searchParam);
	List<FlowSearchJump> queryJumpDeByDate(RequestSearchParam searchParam);
	List<FlowSearchJump> queryJumpDeByResult(RequestSearchParam searchParam);
	
	List<FlowSearchJump> querySwitchByCategory(RequestSearchParam searchParam);
	List<FlowSearchJump> querySwitchByDate(RequestSearchParam searchParam);
	List<FlowSearchJump> querySwitchByResult(RequestSearchParam searchParam);
	
	List<FlowSearchResult> queryResultByDate(RequestSearchParam searchParam);
	List<FlowSearchResult> queryResultByCategory(RequestSearchParam searchParam);
	List<FlowSearchResult> queryResultByKey(RequestSearchParam searchParam);
	
	List<FlowSearchFilter> queryFilterByCondition(RequestSearchParam searchParam);
	FlowSearchFilterCondition queryFilterNameByCode(FlowSearchFilterCondition param);
	boolean insertFilter(FlowSearchFilterCondition param);
	
	List<FlowSearchPaging> queryPagingByCategory(RequestSearchParam searchParam);
	List<FlowSearchPaging> queryPagingByPageCode(RequestSearchParam searchParam);
	
	
	
}
